--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Commit 2c4222a3f9d385cf04b3269fed58c39ff1e77e65
Parents : eb13603
Author : Ivan <ivan@quad4.io>
Signature : Signature validation error
Date : 2026-04-13T17:36:46-05:00
feat(locales): update translations for bots, nodes, and documentation; add new sections for third-party licenses and improve descriptions across multiple languages
Changes
4 files changed, 346 insertions(+), 246 deletions(-)
Diff
diff --git a/meshchatx/src/frontend/locales/de.json b/meshchatx/src/frontend/locales/de.json
index 215d170f..92e702d5 100644
--- a/meshchatx/src/frontend/locales/de.json
+++ b/meshchatx/src/frontend/locales/de.json
@@ -2,7 +2,7 @@
"_languageName": "Deutsch",
"bots": {
"title": "LXMFy-Bots",
- "description": "Verwalten Sie automatisierte Bots für Echo, Notizen und Erinnerungen mit LXMFy.",
+ "description": "Einfache LXMF-Bots (Echo, Notizen, Erinnerungen), wenn LXMFy installiert ist.",
"bot_framework": "Bot-Framework",
"lxmfy_not_detected": "LXMFy nicht erkannt",
"lxmfy_not_detected_desc": "Um Bots zu verwenden, müssen Sie das LXMFy-Paket installieren:",
@@ -109,6 +109,8 @@
"fallback_node_description": "Nachrichten weichen auf diesen Knoten aus, wenn die direkte Zustellung fehlschlägt.",
"auto_select_node": "Besten Knoten automatisch auswählen",
"auto_select_node_description": "Automatisch den besten verfügbaren Propagationsknoten basierend auf den Netzwerkhops finden und dorthin wechseln.",
+ "auto_select_using_label": "Propagationsknoten in Nutzung",
+ "auto_select_pending": "Noch kein Propagationsknoten gewählt. Die App wählt einen, sobald einer verfügbar ist.",
"auto_sync_interval": "Automatisches Synchronisierungsintervall",
"last_synced": "Zuletzt synchronisiert vor {time}.",
"last_synced_never": "Zuletzt synchronisiert: Nie.",
@@ -116,7 +118,7 @@
"propagation_stamp_description": "Erfordern Sie Proof-of-Work-Stempel für über Ihren Knoten verbreitete Nachrichten. Höhere Werte erfordern mehr Rechenaufwand. Bereich: 13-254. Standard: 16. **Hinweis:** Eine Änderung erfordert den Neustart der App.",
"language": "Sprache",
"select_language": "Wählen Sie Ihre bevorzugte Sprache.",
- "custom_fork_by": "Angepasster Fork von",
+ "tagline": "All-in-One-Reticulum-Client",
"open": "Öffnen",
"identity": "Identität",
"lxmf_address_hash": "LXMF-Adress-Hash",
@@ -207,6 +209,9 @@
"sync_error": "Synchronisierungsfehler: {status}",
"switching_identity": "Identität wird gewechselt...",
"loading_identity": "Ihre Identität wird geladen",
+ "loading_overlay_kicker": "Einen Moment",
+ "loading_overlay_title": "Profil wird gewechselt",
+ "loading_overlay_subtitle": "Chats und Einstellungen werden geladen. Das dauert meist nur wenige Sekunden.",
"emergency_mode_active": "Notfallmodus aktiv - In-Memory-Datenbank und eingeschränkte Dienste werden verwendet.",
"blackhole_integration_enabled": "Blackhole-Integration",
"blackhole_integration_description": "Identitäten automatisch auf der Reticulum-Transportebene sperren (Blackhole), wenn Benutzer in MeshChatX verbannt werden.",
@@ -415,10 +420,15 @@
"import_success": "{added} Kontakt(e) importiert",
"import_failed": "Import fehlgeschlagen",
"import_modal_title": "Kontakte importieren",
- "import_file_hint": "Wählen Sie eine JSON-Datei aus dem Kontakte-Export."
+ "import_file_hint": "Wählen Sie eine JSON-Datei aus dem Kontakte-Export.",
+ "edit_contact": "Kontakt bearbeiten",
+ "enter_contact_name": "Kontaktname eingeben",
+ "contact_updated": "Kontakt aktualisiert",
+ "failed_update_contact": "Kontakt konnte nicht aktualisiert werden"
},
"about": {
"title": "Über",
+ "third_party_licenses": "Lizenzen Dritter",
"version": "v{version}",
"rns_version": "RNS {version}",
"lxmf_version": "LXMF {version}",
@@ -537,7 +547,7 @@
"map": {
"title": "Karte",
"pop_out": "Karte ausdocken",
- "description": "Offline-fähige Karte mit MBTiles-Unterstützung.",
+ "description": "Offline-Kartenkacheln (MBTiles) und eigene Ebenen.",
"upload_mbtiles": "MBTiles hochladen",
"select_file": "MBTiles-Datei auswählen",
"offline_mode": "Offline-Modus",
@@ -846,7 +856,7 @@
},
"forwarder": {
"title": "LXMF-Weiterleiter",
- "description": "Nachrichten von einer Adresse zu einer anderen weiterleiten, mit transparenter Rückleitung.",
+ "description": "LXMF zwischen Adressen weiterleiten, mit erhaltenem Antwort-Routing.",
"add_rule": "Weiterleitungsregel hinzufügen",
"name": "Name",
"name_placeholder": "Regelname (z.B. Heimknoten)...",
@@ -864,7 +874,7 @@
"delete_confirm": "Sind Sie sicher, dass Sie diese Regel löschen möchten?"
},
"archives": {
- "description": "Archivierte Nomad Network Seiten suchen und anzeigen",
+ "description": "In Ihrem lokalen Archiv gespeicherte Nomad-Seiten durchsuchen.",
"search_placeholder": "Suche nach Inhalt, Hash oder Pfad...",
"loading": "Archive werden geladen...",
"no_archives_found": "Keine Archive gefunden",
@@ -880,7 +890,7 @@
},
"docs": {
"title": "Dokumentation",
- "subtitle": "Reticulum-Handbücher und Anleitungen.",
+ "subtitle": "Handbücher zu Reticulum und MeshChat.",
"status_title": "Dokumentationsstatus",
"status_downloading": "Wird heruntergeladen...",
"status_available": "Offline-Handbuch verfügbar",
@@ -892,29 +902,44 @@
"docs_link_copied": "Documentation link copied to clipboard",
"failed_copy_link": "Failed to copy link"
},
+ "licenses": {
+ "section_label": "Rechtliches",
+ "title": "Lizenzen Dritter",
+ "description": "Versionen, Autoren und SPDX- oder deklarierte Lizenzangaben zur Laufzeit. Daten stammen aus der installierten Python-Umgebung und von pnpm, falls verfügbar.",
+ "short_description": "Versionen, Autoren und Lizenzen für Backend und Frontend.",
+ "search_placeholder": "Pakete, Versionen, Autoren, Lizenzen suchen...",
+ "generated_at": "Erstellt um {time}",
+ "frontend_source": "Frontend-Daten: {source}",
+ "backend_section": "Backend (Python)",
+ "frontend_section": "Frontend (Node)",
+ "col_package": "Paket",
+ "col_version": "Version",
+ "col_author": "Autor",
+ "col_license": "Lizenz"
+ },
"tools": {
"utilities": "Dienstprogramme",
- "power_tools": "Power-Tools für Betreiber",
- "diagnostics_description": "Diagnose- und Firmware-Helfer werden mit MeshChat geliefert, damit Sie Peers ohne Verlassen der Konsole Fehler beheben können.",
+ "power_tools": "Dienstprogramme",
+ "diagnostics_description": "Erreichbarkeit, Übertragungen, Pfade, Übersetzung, Handbücher und Hardware-Hilfen an einem Ort.",
"ping": {
"title": "Ping",
- "description": "Latenztest für jeden LXMF-Ziel-Hash mit Live-Status."
+ "description": "Laufzeit bis zu einem Ziel, das Ping akzeptiert."
},
"rnprobe": {
"title": "RNProbe",
- "description": "Ziele mit benutzerdefinierten Paketgrößen sondieren, um die Konnektivität zu testen."
+ "description": "Sonden mit konfigurierbarer Nutzlastgröße zu Erreichbarkeit und Verzögerung."
},
"rncp": {
"title": "RNCP",
- "description": "Dateien über RNS mit Fortschrittsanzeige senden und empfangen."
+ "description": "Dateien über Reticulum (RNCP) mit Fortschritt senden und empfangen."
},
"rnstatus": {
"title": "RNStatus",
- "description": "Schnittstellenstatistiken und Netzwerkstatusinformationen anzeigen."
+ "description": "Schnittstellen-Zähler und verbindungsbezogener Status von Reticulum."
},
"rnpath": {
"title": "RNPath",
- "description": "Verwalten Sie die Pfadtabelle, sehen Sie Ankündigungsraten und fordern Sie Pfade an.",
+ "description": "Pfade, Ankündigungs-Warteschlangen prüfen und Routen anfordern oder verwerfen.",
"failed_fetch": "Failed to fetch path data",
"path_dropped": "Path dropped",
"failed_drop": "Could not drop path",
@@ -928,7 +953,7 @@
},
"rnpath_trace": {
"title": "RNS Pfad-Verfolgung",
- "description": "Visualisiere den Pfad und die Hops zu einem Ziel-Hash im Mesh.",
+ "description": "Hop-Liste zum Ziel-Hash entlang des aktuellen Pfads.",
"destination_hash": "Ziel-Hash",
"placeholder": "32-stelligen Ziel-Hash eingeben...",
"trace": "Pfad verfolgen",
@@ -937,21 +962,21 @@
"interface": "Ausgangs-Schnittstelle",
"next_hop": "Nächster Hop",
"ready_title": "Einen Pfad verfolgen",
- "ready_desc": "Gib oben einen Ziel-Hash ein, um zu visualisieren, wie Pakete durch das Mesh reisen.",
+ "ready_desc": "Ziel-Hash eingeben, um Hops entlang des aktuellen Pfads aufzulisten.",
"unknown_hops": "{count} Zwischen-Hops",
"ping_test": "Mit Ping testen"
},
"translator": {
"title": "Übersetzer",
- "description": "Text mit der LibreTranslate API oder lokalem Argos Translate übersetzen."
+ "description": "Text über einen LibreTranslate-Server oder lokales Argos Translate übersetzen."
},
"forwarder": {
"title": "Weiterleiter",
- "description": "LXMF-Weiterleitung mit Rückpfad-Routing."
+ "description": "LXMF zwischen Adressen weiterleiten, mit erhaltenem Antwort-Routing."
},
"rnode_flasher": {
"title": "RNode Flasher",
- "description": "RNode-Adapter flashen und aktualisieren, ohne die Kommandozeile zu berühren.",
+ "description": "RNode-Firmware im Browser flashen oder aktualisieren (unterstützte Hardware).",
"select_device": "1. Wählen Sie Ihr Gerät aus",
"product": "Produkt",
"model": "Modell",
@@ -1083,7 +1108,7 @@
},
"micron_editor": {
"title": "Micron Editor",
- "description": "Micron-Markup bearbeiten und mit Live-Rendering anzeigen.",
+ "description": "Micron-Markup mit Live-Vorschau bearbeiten.",
"editor": "Editor",
"preview": "Vorschau",
"save": "Speichern",
@@ -1101,28 +1126,28 @@
},
"paper_message": {
"title": "Papiernachricht",
- "description": "Erstellen und lesen Sie LXMF-signierte Papiernachrichten über QR-Codes."
+ "description": "LXMF-Papiernachrichten per QR erstellen oder einlesen."
},
"mesh_server": {
"title": "Mesh Server",
- "description": "Micron-Seiten und Dateien direkt ueber das Reticulum-Mesh bereitstellen."
+ "description": "Micron-Seiten und Dateien für Peers im Mesh bereitstellen."
},
"rns_tunnel": {
"title": "RNSTunnel",
- "description": "Regulären IP-Verkehr über Reticulum-Netzwerkverbindungen tunneln."
+ "description": "IP-Tunneling über Reticulum-Verbindungen (in Entwicklung)."
},
"rns_filesync": {
"title": "RNSFilesync",
- "description": "Dateien effizient mit anderen Mesh-Peers teilen und synchronisieren."
+ "description": "Dateisync zwischen Mesh-Peers (in Entwicklung)."
},
"bots": {
"title": "LXMFy-Bots",
- "description": "Verwalten Sie automatisierte Bots für Echo, Notizen und Erinnerungen mit LXMFy."
+ "description": "Einfache LXMF-Bots (Echo, Notizen, Erinnerungen), wenn LXMFy installiert ist."
}
},
"ping": {
"title": "Mesh-Peers anpingen",
- "description": "Nur {code}-Ziele antworten auf Ping.",
+ "description": "Nur Ziele mit angekündigtem Ping-App-Typ antworten.",
"destination_hash": "Ziel-Hash",
"timeout_seconds": "Ping-Timeout (Sekunden)",
"start_ping": "Ping starten",
@@ -1143,7 +1168,7 @@
"rncp": {
"file_transfer": "Dateiübertragung",
"title": "RNCP - Reticulum Network Copy",
- "description": "Senden und Empfangen von Dateien über das Reticulum-Netzwerk unter Verwendung von RNS-Ressourcen. Dieses Tool ermöglicht eine zuverlässige Dateiübertragung zwischen Mesh-Knoten, selbst über Verbindungen mit hoher Latenz.",
+ "description": "Dateien über Reticulum per RNCP senden, hören oder abrufen (Blöcke, optional Kompression).",
"usage_steps": "Verwendung von RNCP:",
"step_1": "1. Um eine Datei zu **empfangen**, gehen Sie zum Tab **Hören**, geben Sie erlaubte Identitäts-Hashes ein (wer an Sie senden darf) und klicken Sie auf **Hören starten**.",
"step_2": "2. Um eine Datei zu **senden**, besorgen Sie sich den **Ziel-Hash** eines hörenden Knotens, geben Sie den **lokalen Dateipfad** ein und klicken Sie auf **Datei senden**.",
@@ -1180,7 +1205,7 @@
"rnprobe": {
"network_diagnostics": "Netzwerkdiagnose",
"title": "RNProbe - Ziel-Probe",
- "description": "Ziele mit benutzerdefinierten Paketgrößen abfragen, um die Konnektivität zu testen und die RTT zu messen.",
+ "description": "Sonden mit konfigurierbarer Größe zu RTT und Zustellung.",
"destination_hash": "Ziel-Hash",
"full_destination_name": "Vollständiger Zielname",
"probe_size_bytes": "Probe-Größe (Bytes)",
@@ -1212,7 +1237,7 @@
"rnstatus": {
"network_diagnostics": "Netzwerkdiagnose",
"title": "RNStatus - Netzwerkstatus",
- "description": "Schnittstellenstatistiken und Netzwerkstatusinformationen anzeigen.",
+ "description": "Schnittstellenstatistiken und Link-Status Ihrer RNS-Instanz.",
"refresh": "Aktualisieren",
"include_link_stats": "Link-Statistiken einbeziehen",
"sort_by": "Sortieren nach:",
@@ -1244,7 +1269,7 @@
"translator": {
"text_translation": "Textübersetzung",
"title": "Übersetzer",
- "description": "Text mit der LibreTranslate-API oder dem lokalen Argos Translate übersetzen.",
+ "description": "Text über einen LibreTranslate-Server oder lokales Argos Translate übersetzen.",
"argos_translate": "Argos Translate",
"libretranslate": "LibreTranslate",
"api_server": "LibreTranslate API-Server",
@@ -1477,7 +1502,7 @@
"learn_create_desc_page": "Entdecken Sie, wie Sie MeshChatX optimal nutzen und Ihre eigenen Inhalte erstellen können.",
"documentation": "Dokumentation",
"documentation_desc": "Lesen Sie die offizielle MeshChatX- und Reticulum-Dokumentation.",
- "documentation_desc_page": "Umfassende Leitfäden für MeshChatX und den zugrunde liegenden Reticulum Network Stack.",
+ "documentation_desc_page": "Leitfäden zu MeshChatX und dem Reticulum-Stack.",
"meshchatx_docs": "MeshChatX-Dokumentation",
"reticulum_docs": "Reticulum-Dokumentation",
"read_meshchatx_docs": "MeshChatX-Dokumentation lesen",
@@ -1487,13 +1512,13 @@
"micron_editor_desc_page": "Erfahren Sie, wie Sie mit der Micron-Markup-Sprache Mesh-native Seiten und interaktive Inhalte erstellen.",
"open_micron_editor": "Micron-Editor öffnen",
"paper_messages": "NomadNet-Knoten erkunden",
- "paper_messages_desc": "Dezentrale Seiten und Dienste durchsuchen.",
+ "paper_messages_desc": "Nomad-Seiten und -Dienste durchsuchen.",
"send_messages": "Nachrichten senden",
"send_messages_desc": "Starten Sie eine sichere Unterhaltung.",
"explore_nodes": "Knoten visualisieren",
- "explore_nodes_desc": "Netzwerkkarte und Topologie anzeigen.",
+ "explore_nodes_desc": "Karte oder Netzwerkgraph öffnen.",
"voice_calls": "Sprachanrufe",
- "voice_calls_desc": "Schauen Sie sich den fantastischen Klingelton-Editor an!",
+ "voice_calls_desc": "Sprachanrufe tätigen und entgegennehmen.",
"ready": "Bereit zum Loslegen!",
"ready_desc": "Alles ist eingerichtet. Sie sollten die Anwendung neu starten, damit die Änderungen wirksam werden.",
"ready_desc_page": "MeshChatX ist jetzt konfiguriert. Sie sollten die Anwendung neu starten, um die Verbindung abzuschließen.",
@@ -1525,7 +1550,7 @@
"auto_propagation_enabled": "Auto-Propagation aktiviert"
},
"command_palette": {
- "search_placeholder": "Befehle suchen, navigieren oder Peers finden...",
+ "search_placeholder": "Befehle, Routen oder Peers suchen",
"no_results": "Keine Ergebnisse für \"{query}\" gefunden",
"group_actions": "Aktionen",
"group_recent": "Kürzliche Peers",
@@ -1533,53 +1558,53 @@
"footer_navigate": "Navigieren",
"footer_select": "Auswählen",
"nav_messages": "Nachrichten",
- "nav_messages_desc": "Nachrichtenseite öffnen",
+ "nav_messages_desc": "Unterhaltungen und LXMF-Posteingang",
"nav_nomad": "Nomad Network",
- "nav_nomad_desc": "Nomad Network Seiten durchsuchen",
+ "nav_nomad_desc": "Nomad-Seiten und -Dienste durchsuchen",
"nav_map": "Karte",
- "nav_map_desc": "Netzwerktopologie-Karte anzeigen",
+ "nav_map_desc": "Geografische Karte und Ebenen",
"nav_paper": "Papier-Nachrichten",
- "nav_paper_desc": "Offline-Nachrichten erstellen",
+ "nav_paper_desc": "Signierte Papiernachrichten (QR)",
"nav_call": "Sprachanrufe",
- "nav_call_desc": "Sprachanrufseite öffnen",
+ "nav_call_desc": "Sprachanrufe im Mesh",
"nav_settings": "Einstellungen",
- "nav_settings_desc": "Einstellungsseite öffnen",
+ "nav_settings_desc": "App- und Transporteinstellungen",
"nav_ping": "Ping",
- "nav_ping_desc": "Netzwerkknoten pingen",
+ "nav_ping_desc": "RTT zu einem Ziel messen",
"nav_rnprobe": "RNProbe",
- "nav_rnprobe_desc": "Reticulum-Knoten sondieren",
+ "nav_rnprobe_desc": "Erreichbarkeit und Verzögerung prüfen",
"nav_rncp": "RNCP",
- "nav_rncp_desc": "Reticulum Control Protocol",
+ "nav_rncp_desc": "Dateikopie über Reticulum (RNCP)",
"nav_rnstatus": "RNStatus",
- "nav_rnstatus_desc": "Reticulum-Status anzeigen",
+ "nav_rnstatus_desc": "Schnittstellen- und Link-Statistik",
"nav_rnpath": "RNPath",
- "nav_rnpath_desc": "Netzwerkpfade anzeigen",
+ "nav_rnpath_desc": "Pfade und Ankündigungs-Warteschlangen",
"nav_rnpath_trace": "RNPath-Verfolgung",
- "nav_rnpath_trace_desc": "Netzwerkpfade visualisieren",
+ "nav_rnpath_trace_desc": "Hop-Liste zu einem Hash",
"nav_translator": "Übersetzer",
- "nav_translator_desc": "Nachrichten übersetzen",
+ "nav_translator_desc": "Nachrichtentext übersetzen",
"nav_forwarder": "Weiterleiter",
- "nav_forwarder_desc": "Nachrichten-Weiterleitungs-Tool",
+ "nav_forwarder_desc": "LXMF-Weiterleitungsregeln",
"nav_documentation": "Dokumentation",
- "nav_documentation_desc": "Dokumentation anzeigen",
+ "nav_documentation_desc": "Offline-Handbücher",
"nav_micron_editor": "Micron-Editor",
- "nav_micron_editor_desc": "Mesh-native Seiten erstellen",
+ "nav_micron_editor_desc": "Micron-Markup bearbeiten",
"nav_rnode_flasher": "RNode Flasher",
- "nav_rnode_flasher_desc": "RNode-Firmware flashen",
+ "nav_rnode_flasher_desc": "Geräte-Firmware aktualisieren",
"nav_debug_logs": "Debug-Logs",
- "nav_debug_logs_desc": "Debug-Logs anzeigen",
+ "nav_debug_logs_desc": "Anwendungs- und Zugriffsprotokolle",
"action_sync": "Nachrichten synchronisieren",
- "action_sync_desc": "Mit Propagationsknoten synchronisieren",
+ "action_sync_desc": "Mit dem Propagationsknoten synchronisieren",
"action_compose": "Nachricht verfassen",
- "action_compose_desc": "Eine neue Nachricht beginnen",
+ "action_compose_desc": "Neue LXMF-Nachricht",
"action_orbit": "Orbit umschalten",
- "action_orbit_desc": "Orbit-Modus umschalten",
+ "action_orbit_desc": "Orbit-Kamera im Netzwerkgraph",
"action_getting_started": "Erste Schritte",
- "action_getting_started_desc": "Einführungsleitfaden anzeigen",
+ "action_getting_started_desc": "Einrichtungsanleitung öffnen",
"action_changelog": "Änderungsprotokoll",
- "action_changelog_desc": "Was ist neu anzeigen",
+ "action_changelog_desc": "Letzte Änderungen",
"action_bouncing_balls": "Bouncing Balls",
- "action_bouncing_balls_desc": "Toggle bouncing balls mode"
+ "action_bouncing_balls_desc": "Physik-Demo im Graph"
},
"settings": {
"shortcut_saved": "Shortcut saved",
@@ -1595,7 +1620,7 @@
},
"debug": {
"title": "Debug Logs",
- "description": "View application logs and detected anomalies.",
+ "description": "Anwendungsprotokolle durchsuchen und nach Stufe filtern.",
"tab_logs": "Protokolle",
"tab_access_attempts": "Zugriffsversuche",
"search_logs_placeholder": "Protokolle durchsuchen...",
@@ -1616,7 +1641,7 @@
},
"visualiser": {
"title": "Network Visualiser",
- "description": "Visualize the mesh network topology.",
+ "description": "Graph aus entdeckten Knoten und Verbindungen.",
"reticulum_mesh": "Reticulum Mesh",
"network_visualizer": "Network Visualizer",
"node_info": "Node Info",
@@ -1668,7 +1693,7 @@
},
"banishment": {
"title": "Banished",
- "description": "Manage Banished users and nodes",
+ "description": "Sperren für Identitäten und Knoten prüfen und aufheben.",
"failed_load_banished": "Failed to load banished destinations",
"search_placeholder": "Search by hash or display name...",
"loading_items": "Loading banished items...",
diff --git a/meshchatx/src/frontend/locales/en.json b/meshchatx/src/frontend/locales/en.json
index af29bd3d..35761db7 100644
--- a/meshchatx/src/frontend/locales/en.json
+++ b/meshchatx/src/frontend/locales/en.json
@@ -2,7 +2,7 @@
"_languageName": "English",
"bots": {
"title": "LXMFy Bots",
- "description": "Manage automated bots for echo, notes, and reminders using LXMFy.",
+ "description": "Simple LXMF bots (echo, notes, reminders) when LXMFy is installed.",
"bot_framework": "Bot Framework",
"lxmfy_not_detected": "LXMFy not detected",
"lxmfy_not_detected_desc": "To use bots, you must install the LXMFy package:",
@@ -115,6 +115,8 @@
"fallback_node_description": "Messages fallback to this node whenever direct delivery fails.",
"auto_select_node": "Auto-select best node",
"auto_select_node_description": "Automatically find and switch to the best available propagation node based on network hops.",
+ "auto_select_using_label": "Using propagation node",
+ "auto_select_pending": "No propagation node selected yet. The app will choose one when available.",
"auto_sync_interval": "Auto Sync Interval",
"last_synced": "Last synced {time} ago.",
"last_synced_never": "Last synced: never.",
@@ -122,7 +124,7 @@
"propagation_stamp_description": "Require proof-of-work stamps for messages propagated through your node. Higher values require more computational work. Range: 13-254. Default: 16. **Note:** Changing this requires restarting the app.",
"language": "Language",
"select_language": "Select your preferred language.",
- "custom_fork_by": "Custom fork by",
+ "tagline": "All-in-one Reticulum client",
"open": "Open",
"identity": "Identity",
"lxmf_address_hash": "LXMF Address Hash",
@@ -214,6 +216,9 @@
"sync_error": "Sync error: {status}",
"switching_identity": "Switching Identity...",
"loading_identity": "Loading your identity",
+ "loading_overlay_kicker": "One moment",
+ "loading_overlay_title": "Switching profile",
+ "loading_overlay_subtitle": "Loading your chats and settings. This usually takes a few seconds.",
"emergency_mode_active": "Emergency Mode Active - Using in-memory database and restricted services.",
"blackhole_integration_enabled": "Blackhole Integration",
"blackhole_integration_description": "Automatically blackhole identities at the Reticulum transport layer when banishing users in MeshChatX.",
@@ -373,6 +378,7 @@
},
"about": {
"title": "About",
+ "third_party_licenses": "Third-party licenses",
"version": "v{version}",
"rns_version": "RNS {version}",
"lxmf_version": "LXMF {version}",
@@ -491,7 +497,7 @@
"map": {
"title": "Map",
"pop_out": "Pop out map",
- "description": "Offline-capable map with MBTiles support.",
+ "description": "Offline map tiles (MBTiles) and your own layers.",
"upload_mbtiles": "Upload MBTiles",
"select_file": "Select MBTiles file",
"offline_mode": "Offline Mode",
@@ -754,7 +760,7 @@
},
"debug": {
"title": "Debug Logs",
- "description": "View application logs and detected anomalies.",
+ "description": "Browse application logs and filter by level.",
"tab_logs": "Logs",
"tab_access_attempts": "Access attempts",
"search_logs_placeholder": "Search logs...",
@@ -775,7 +781,7 @@
},
"visualiser": {
"title": "Network Visualiser",
- "description": "Visualize the mesh network topology.",
+ "description": "Graph of discovered nodes and links.",
"reticulum_mesh": "Reticulum Mesh",
"network_visualizer": "Network Visualizer",
"node_info": "Node Info",
@@ -827,7 +833,7 @@
},
"banishment": {
"title": "Banished",
- "description": "Manage Banished users and nodes",
+ "description": "Review and lift blocks on identities and nodes.",
"failed_load_banished": "Failed to load banished destinations",
"search_placeholder": "Search by hash or display name...",
"loading_items": "Loading banished items...",
@@ -903,7 +909,7 @@
},
"forwarder": {
"title": "LXMF Forwarder",
- "description": "Forward messages from one address to another, with transparent return routing.",
+ "description": "Forward LXMF between addresses with reply routing preserved.",
"add_rule": "Add Forwarding Rule",
"name": "Name",
"name_placeholder": "Rule name (e.g. Home Node)...",
@@ -921,7 +927,7 @@
"delete_confirm": "Are you sure you want to delete this rule?"
},
"archives": {
- "description": "Search and view archived Nomad Network pages",
+ "description": "Search Nomad Network pages stored in your local archive.",
"search_placeholder": "Search content, hash or path...",
"loading": "Loading archives...",
"no_archives_found": "No archives found",
@@ -937,7 +943,7 @@
},
"docs": {
"title": "Documentation",
- "subtitle": "Reticulum manuals and guides.",
+ "subtitle": "Reticulum and MeshChat manuals.",
"status_title": "Documentation Status",
"status_downloading": "Downloading...",
"status_available": "Offline Manual Available",
@@ -949,29 +955,44 @@
"docs_link_copied": "Documentation link copied to clipboard",
"failed_copy_link": "Failed to copy link"
},
+ "licenses": {
+ "section_label": "Legal",
+ "title": "Third-party licenses",
+ "description": "Runtime dependency versions, authors, and SPDX or declared license strings. Data is collected from the installed Python environment and from pnpm when available.",
+ "short_description": "Dependency versions, authors, and licenses for backend and frontend.",
+ "search_placeholder": "Search packages, versions, authors, licenses...",
+ "generated_at": "Generated at {time}",
+ "frontend_source": "Frontend data: {source}",
+ "backend_section": "Backend (Python)",
+ "frontend_section": "Frontend (Node)",
+ "col_package": "Package",
+ "col_version": "Version",
+ "col_author": "Author",
+ "col_license": "License"
+ },
"tools": {
"utilities": "Utilities",
- "power_tools": "Power tools for operators",
- "diagnostics_description": "Diagnostics and firmware helpers ship with MeshChat so you can troubleshoot peers without leaving the console.",
+ "power_tools": "Utilities",
+ "diagnostics_description": "Connectivity checks, transfers, paths, translation, docs, and hardware helpers in one place.",
"ping": {
"title": "Ping",
- "description": "Latency test for any LXMF destination hash with live status."
+ "description": "Measure round-trip time to a destination that accepts ping."
},
"rnprobe": {
"title": "RNProbe",
- "description": "Probe destinations with custom packet sizes to test connectivity."
+ "description": "Send probes with configurable payload size to test reachability and delay."
},
"rncp": {
"title": "RNCP",
- "description": "Send and receive files over RNS with progress tracking."
+ "description": "Send and receive files over Reticulum (RNCP) with progress."
},
"rnstatus": {
"title": "RNStatus",
- "description": "View interface statistics and network status information."
+ "description": "Per-interface counters and link-oriented status from Reticulum."
},
"rnpath": {
"title": "RNPath",
- "description": "Manage the path table, view announce rates and request paths.",
+ "description": "Inspect paths, announces, and request or drop routes.",
"failed_fetch": "Failed to fetch path data",
"path_dropped": "Path dropped",
"failed_drop": "Could not drop path",
@@ -985,7 +1006,7 @@
},
"rnpath_trace": {
"title": "RNS Path Trace",
- "description": "Visualize the path and hops to any destination hash on the mesh.",
+ "description": "Show the hop list toward a destination hash.",
"destination_hash": "Destination Hash",
"placeholder": "Enter 32-char destination hash...",
"trace": "Trace Path",
@@ -994,21 +1015,21 @@
"interface": "Exit Interface",
"next_hop": "Next Hop",
"ready_title": "Trace a Path",
- "ready_desc": "Enter a destination hash above to visualize how packets travel through the mesh to reach it.",
+ "ready_desc": "Enter a destination hash to list hops along the current path.",
"unknown_hops": "{count} Intermediate Hops",
"ping_test": "Test with Ping"
},
"translator": {
"title": "Translator",
- "description": "Translate text using LibreTranslate API or local Argos Translate."
+ "description": "Translate text via a LibreTranslate server or local Argos Translate."
},
"forwarder": {
"title": "Forwarder",
- "description": "LXMF forwarding with return path routing."
+ "description": "Forward LXMF between addresses with reply routing preserved."
},
"rnode_flasher": {
"title": "RNode Flasher",
- "description": "Flash and update RNode adapters without touching the command line.",
+ "description": "Flash or update RNode firmware from the browser (supported hardware).",
"select_device": "1. Select your device",
"product": "Product",
"model": "Model",
@@ -1140,7 +1161,7 @@
},
"micron_editor": {
"title": "Micron Editor",
- "description": "Edit and preview Micron markup with live rendering.",
+ "description": "Edit Micron markup with a live preview.",
"editor": "Editor",
"preview": "Preview",
"save": "Save",
@@ -1158,28 +1179,28 @@
},
"paper_message": {
"title": "Paper Message",
- "description": "Generate and read LXMF signed paper messages via QR codes."
+ "description": "Create or scan QR-encoded LXMF paper messages."
},
"mesh_server": {
"title": "Mesh Server",
- "description": "Serve Micron pages and files directly over the Reticulum mesh."
+ "description": "Host Micron pages and files for peers on the mesh."
},
"rns_tunnel": {
"title": "RNS Tunnel",
- "description": "Tunnel regular IP traffic over Reticulum network links."
+ "description": "IP tunneling over Reticulum links (in development)."
},
"rns_filesync": {
"title": "RNS Filesync",
- "description": "Efficiently share and sync files with other mesh peers."
+ "description": "File sync between mesh peers (in development)."
},
"bots": {
"title": "LXMFy Bots",
- "description": "Manage automated bots for echo, notes, and reminders using LXMFy."
+ "description": "Simple LXMF bots (echo, notes, reminders) when LXMFy is installed."
}
},
"ping": {
"title": "Ping Mesh Peers",
- "description": "Only {code} destinations respond to ping.",
+ "description": "Only destinations that expose the ping app type will answer.",
"destination_hash": "Destination Hash",
"timeout_seconds": "Ping Timeout (seconds)",
"start_ping": "Start Ping",
@@ -1200,7 +1221,7 @@
"rncp": {
"file_transfer": "File Transfer",
"title": "RNCP - Reticulum Network Copy",
- "description": "Send and receive files over the Reticulum network using RNS resources. This tool allows for reliable file transfer between mesh nodes even over high-latency links.",
+ "description": "Send, listen, or fetch files over Reticulum using RNCP (chunked transfers, optional compression).",
"usage_steps": "How to use RNCP:",
"step_1": "1. To **receive** a file, go to the **Listen** tab, enter allowed identity hashes (who can send to you), and click **Start Listening**.",
"step_2": "2. To **send** a file, get the **Destination Hash** of a listening node, enter the **Local File Path**, and click **Send File**.",
@@ -1237,7 +1258,7 @@
"rnprobe": {
"network_diagnostics": "Network Diagnostics",
"title": "RNProbe - Destination Probe",
- "description": "Probe destinations with custom packet sizes to test connectivity and measure RTT.",
+ "description": "Send probes with configurable size to measure RTT and delivery.",
"destination_hash": "Destination Hash",
"full_destination_name": "Full Destination Name",
"probe_size_bytes": "Probe Size (bytes)",
@@ -1269,7 +1290,7 @@
"rnstatus": {
"network_diagnostics": "Network Diagnostics",
"title": "RNStatus - Network Status",
- "description": "View interface statistics and network status information.",
+ "description": "Per-interface statistics and link status from your RNS instance.",
"refresh": "Refresh",
"include_link_stats": "Include Link Stats",
"sort_by": "Sort by:",
@@ -1301,7 +1322,7 @@
"translator": {
"text_translation": "Text Translation",
"title": "Translator",
- "description": "Translate text using LibreTranslate API or local Argos Translate.",
+ "description": "Translate text via a LibreTranslate server or local Argos Translate.",
"argos_translate": "Argos Translate",
"libretranslate": "LibreTranslate",
"api_server": "LibreTranslate API Server",
@@ -1534,7 +1555,11 @@
"import_success": "Imported {added} contact(s)",
"import_failed": "Failed to import contacts",
"import_modal_title": "Import Contacts",
- "import_file_hint": "Select a JSON file exported from Contacts."
+ "import_file_hint": "Select a JSON file exported from Contacts.",
+ "edit_contact": "Edit Contact",
+ "enter_contact_name": "Enter contact name",
+ "contact_updated": "Contact updated",
+ "failed_update_contact": "Failed to update contact"
},
"tutorial": {
"title": "Getting Started",
@@ -1580,7 +1605,7 @@
"learn_create_desc_page": "Discover how to use MeshChatX to its full potential and create your own content.",
"documentation": "Documentation",
"documentation_desc": "Read the official MeshChatX and Reticulum documentation.",
- "documentation_desc_page": "Comprehensive guides for MeshChatX and the underlying Reticulum Network Stack.",
+ "documentation_desc_page": "Guides for MeshChatX and the Reticulum stack.",
"meshchatx_docs": "MeshChatX Docs",
"reticulum_docs": "Reticulum Docs",
"read_meshchatx_docs": "Read MeshChatX Docs",
@@ -1590,13 +1615,13 @@
"micron_editor_desc_page": "Learn how to create mesh-native pages and interactive content using the Micron markup language.",
"open_micron_editor": "Open Micron Editor",
"paper_messages": "Explore NomadNet Nodes",
- "paper_messages_desc": "Browse decentralized pages and services.",
+ "paper_messages_desc": "Browse Nomad pages and services.",
"send_messages": "Send Messages",
"send_messages_desc": "Start a secure conversation.",
"explore_nodes": "Visualize Nodes",
- "explore_nodes_desc": "View the network map and topology.",
+ "explore_nodes_desc": "Open the map or network graph.",
"voice_calls": "Voice Calls",
- "voice_calls_desc": "Check out the awesome ringtone editor!",
+ "voice_calls_desc": "Place and receive voice calls.",
"ready": "Ready to Roll!",
"ready_desc": "Everything is set up. You should restart the application for the changes to take effect.",
"ready_desc_page": "MeshChatX is now configured. You should restart the application to finalize the connection.",
@@ -1628,7 +1653,7 @@
"auto_propagation_enabled": "Auto-propagation enabled"
},
"command_palette": {
- "search_placeholder": "Search commands, navigate, or find peers...",
+ "search_placeholder": "Search commands, routes, or peers",
"no_results": "No results found for \"{query}\"",
"group_actions": "Actions",
"group_recent": "Recent Peers",
@@ -1636,52 +1661,52 @@
"footer_navigate": "Navigate",
"footer_select": "Select",
"nav_messages": "Messages",
- "nav_messages_desc": "Open messages page",
+ "nav_messages_desc": "Conversations and LXMF inbox",
"nav_nomad": "Nomad Network",
- "nav_nomad_desc": "Browse Nomad Network pages",
+ "nav_nomad_desc": "Browse Nomad pages and services",
"nav_map": "Map",
- "nav_map_desc": "View network topology map",
+ "nav_map_desc": "Geographic map and layers",
"nav_paper": "Paper Messages",
- "nav_paper_desc": "Generate offline messages",
+ "nav_paper_desc": "Signed paper messages (QR)",
"nav_call": "Voice Calls",
- "nav_call_desc": "Open voice calls page",
+ "nav_call_desc": "Voice calls over the mesh",
"nav_settings": "Settings",
- "nav_settings_desc": "Open settings page",
+ "nav_settings_desc": "App and transport preferences",
"nav_ping": "Ping",
- "nav_ping_desc": "Ping network nodes",
+ "nav_ping_desc": "Measure RTT to a destination",
"nav_rnprobe": "RNProbe",
- "nav_rnprobe_desc": "Probe Reticulum nodes",
+ "nav_rnprobe_desc": "Probe reachability and delay",
"nav_rncp": "RNCP",
- "nav_rncp_desc": "Reticulum Control Protocol",
+ "nav_rncp_desc": "File copy over Reticulum (RNCP)",
"nav_rnstatus": "RNStatus",
- "nav_rnstatus_desc": "View Reticulum status",
+ "nav_rnstatus_desc": "Interface and link statistics",
"nav_rnpath": "RNPath",
- "nav_rnpath_desc": "View network paths",
+ "nav_rnpath_desc": "Paths and announce queues",
"nav_rnpath_trace": "RNPath Trace",
- "nav_rnpath_trace_desc": "Visualize network paths",
+ "nav_rnpath_trace_desc": "Hop list toward a hash",
"nav_translator": "Translator",
- "nav_translator_desc": "Translate messages",
+ "nav_translator_desc": "Translate message text",
"nav_forwarder": "Forwarder",
- "nav_forwarder_desc": "Message forwarding tool",
+ "nav_forwarder_desc": "LXMF forwarding rules",
"nav_documentation": "Documentation",
- "nav_documentation_desc": "View documentation",
+ "nav_documentation_desc": "Offline manuals",
"nav_micron_editor": "Micron Editor",
- "nav_micron_editor_desc": "Create mesh-native pages",
+ "nav_micron_editor_desc": "Edit Micron markup",
"nav_rnode_flasher": "RNode Flasher",
- "nav_rnode_flasher_desc": "Flash RNode firmware",
+ "nav_rnode_flasher_desc": "Device firmware update",
"nav_debug_logs": "Debug Logs",
- "nav_debug_logs_desc": "View debug logs",
+ "nav_debug_logs_desc": "Application and access logs",
"action_sync": "Sync Messages",
- "action_sync_desc": "Sync with propagation node",
+ "action_sync_desc": "Sync with your propagation node",
"action_compose": "Compose Message",
- "action_compose_desc": "Start a new message",
+ "action_compose_desc": "New LXMF message",
"action_orbit": "Toggle Orbit",
- "action_orbit_desc": "Toggle orbit mode",
+ "action_orbit_desc": "Orbit camera in network graph",
"action_bouncing_balls": "Bouncing Balls",
- "action_bouncing_balls_desc": "Toggle bouncing balls mode",
+ "action_bouncing_balls_desc": "Physics demo on the graph",
"action_getting_started": "Getting Started",
- "action_getting_started_desc": "Show getting started guide",
+ "action_getting_started_desc": "Open the setup guide",
"action_changelog": "Changelog",
- "action_changelog_desc": "View what's new"
+ "action_changelog_desc": "Recent changes"
}
}
diff --git a/meshchatx/src/frontend/locales/it.json b/meshchatx/src/frontend/locales/it.json
index af370c58..66794a7b 100644
--- a/meshchatx/src/frontend/locales/it.json
+++ b/meshchatx/src/frontend/locales/it.json
@@ -2,7 +2,7 @@
"_languageName": "Italiano",
"bots": {
"title": "LXMFy Bot",
- "description": "Gestisci bot automatizzati per echo, note e promemoria usando LXMFy.",
+ "description": "Bot LXMF semplici (echo, note, promemoria) se LXMFy è installato.",
"bot_framework": "Bot Framework",
"lxmfy_not_detected": "LXMFy non rilevato",
"lxmfy_not_detected_desc": "Per usare i bot, devi installare il pacchetto LXMFy:",
@@ -115,6 +115,8 @@
"fallback_node_description": "I messaggi ripiegano su questo nodo ogni volta che la consegna diretta fallisce.",
"auto_select_node": "Selezione automatica del miglior nodo",
"auto_select_node_description": "Trova e passa automaticamente al miglior nodo di propagazione disponibile in base agli hop di rete.",
+ "auto_select_using_label": "Nodo di propagazione in uso",
+ "auto_select_pending": "Nessun nodo di propagazione selezionato. L'app ne sceglierà uno quando disponibile.",
"auto_sync_interval": "Intervallo Sincronizzazione Automatica",
"last_synced": "Ultima sincronizzazione {time} fa.",
"last_synced_never": "Ultima sincronizzazione: mai.",
@@ -122,7 +124,7 @@
"propagation_stamp_description": "Richiedi francobolli proof-of-work per i messaggi propagati attraverso il tuo nodo. Valori più alti richiedono più lavoro computazionale. Intervallo: 13-254. Predefinito: 16. **Nota:** La modifica richiede il riavvio dell'app.",
"language": "Lingua",
"select_language": "Seleziona la tua lingua preferita.",
- "custom_fork_by": "Fork personalizzato da",
+ "tagline": "Client Reticulum tutto in uno",
"open": "Apri",
"identity": "Identità",
"lxmf_address_hash": "Hash Indirizzo LXMF",
@@ -214,6 +216,9 @@
"sync_error": "Errore sincronizzazione: {status}",
"switching_identity": "Cambiando Identità...",
"loading_identity": "Caricamento della tua identità",
+ "loading_overlay_kicker": "Attendere",
+ "loading_overlay_title": "Cambio profilo",
+ "loading_overlay_subtitle": "Caricamento chat e impostazioni. Di solito bastano pochi secondi.",
"emergency_mode_active": "Modalità Emergenza Attiva - Utilizzo del database in memoria e servizi limitati.",
"blackhole_integration_enabled": "Integrazione Blackhole",
"blackhole_integration_description": "Metti automaticamente in blackhole le identità a livello di trasporto Reticulum quando esili gli utenti in MeshChatX.",
@@ -415,10 +420,15 @@
"import_success": "Importati {added} contatto/i",
"import_failed": "Importazione fallita",
"import_modal_title": "Importa contatti",
- "import_file_hint": "Seleziona un file JSON esportato da Contatti."
+ "import_file_hint": "Seleziona un file JSON esportato da Contatti.",
+ "edit_contact": "Modifica contatto",
+ "enter_contact_name": "Inserisci il nome del contatto",
+ "contact_updated": "Contatto aggiornato",
+ "failed_update_contact": "Impossibile aggiornare il contatto"
},
"about": {
"title": "Informazioni",
+ "third_party_licenses": "Licenze di terze parti",
"version": "v{version}",
"rns_version": "RNS {version}",
"lxmf_version": "LXMF {version}",
@@ -537,7 +547,7 @@
"map": {
"title": "Mappa",
"pop_out": "Apri mappa in finestra",
- "description": "Mappa compatibile con l'uso offline e supporto MBTiles.",
+ "description": "Tile offline (MBTiles) e livelli personalizzati.",
"upload_mbtiles": "Carica MBTiles",
"select_file": "Seleziona file MBTiles",
"offline_mode": "Modalità Offline",
@@ -800,7 +810,7 @@
},
"debug": {
"title": "Log di Debug",
- "description": "Visualizza i log dell'applicazione e le anomalie rilevate.",
+ "description": "Sfoglia i log dell'app e filtra per livello.",
"tab_logs": "Log",
"tab_access_attempts": "Tentativi di accesso",
"search_logs_placeholder": "Cerca nei log...",
@@ -821,7 +831,7 @@
},
"visualiser": {
"title": "Visualizzatore di Rete",
- "description": "Visualizza la topologia della rete mesh.",
+ "description": "Grafo di nodi e collegamenti rilevati.",
"reticulum_mesh": "Reticulum Mesh",
"network_visualizer": "Visualizzatore di Rete",
"node_info": "Info Nodo",
@@ -873,7 +883,7 @@
},
"banishment": {
"title": "Esiliati",
- "description": "Gestisci gli utenti e i nodi esiliati",
+ "description": "Esamina e revoca i blocchi su identità e nodi.",
"failed_load_banished": "Impossibile caricare le destinazioni esiliate",
"search_placeholder": "Cerca per hash o nome visualizzato...",
"loading_items": "Caricamento elementi esiliati...",
@@ -949,7 +959,7 @@
},
"forwarder": {
"title": "Inoltro LXMF",
- "description": "Inoltra i messaggi da un indirizzo a un altro, con instradamento di ritorno trasparente.",
+ "description": "Inoltra LXMF tra indirizzi mantenendo il routing delle risposte.",
"add_rule": "Aggiungi Regola di Inoltro",
"name": "Nome",
"name_placeholder": "Nome regola (es. Nodo Casa)...",
@@ -967,7 +977,7 @@
"delete_confirm": "Sei sicuro di voler eliminare questa regola?"
},
"archives": {
- "description": "Cerca e visualizza le pagine Nomad Network archiviate",
+ "description": "Cerca pagine Nomad salvate nel tuo archivio locale.",
"search_placeholder": "Cerca contenuto, hash o percorso...",
"loading": "Caricamento archivi...",
"no_archives_found": "Nessun archivio trovato",
@@ -983,7 +993,7 @@
},
"docs": {
"title": "Documentazione",
- "subtitle": "Manuali e guide Reticulum.",
+ "subtitle": "Manuali Reticulum e MeshChat.",
"status_title": "Stato Documentazione",
"status_downloading": "Scaricamento...",
"status_available": "Manuale Offline Disponibile",
@@ -995,29 +1005,44 @@
"docs_link_copied": "Link alla documentazione copiato negli appunti",
"failed_copy_link": "Impossibile copiare il link"
},
+ "licenses": {
+ "section_label": "Note legali",
+ "title": "Licenze di terze parti",
+ "description": "Versioni, autori e licenze SPDX o dichiarate delle dipendenze a runtime. I dati provengono dall'ambiente Python installato e da pnpm se disponibile.",
+ "short_description": "Versioni, autori e licenze per backend e frontend.",
+ "search_placeholder": "Cerca pacchetti, versioni, autori, licenze...",
+ "generated_at": "Generato alle {time}",
+ "frontend_source": "Dati frontend: {source}",
+ "backend_section": "Backend (Python)",
+ "frontend_section": "Frontend (Node)",
+ "col_package": "Pacchetto",
+ "col_version": "Versione",
+ "col_author": "Autore",
+ "col_license": "Licenza"
+ },
"tools": {
"utilities": "Utilità",
- "power_tools": "Strumenti avanzati per operatori",
- "diagnostics_description": "Gli strumenti di diagnostica e gli assistenti firmware sono inclusi in MeshChat per consentirti di risolvere i problemi dei peer senza lasciare la console.",
+ "power_tools": "Utilità",
+ "diagnostics_description": "Controlli di connettività, trasferimenti, percorsi, traduzione, manuali e assistenza hardware in un unico posto.",
"ping": {
"title": "Ping",
- "description": "Test di latenza per qualsiasi destinazione LXMF con stato in tempo reale."
+ "description": "Misura il tempo di andata e ritorno verso una destinazione che accetta il ping."
},
"rnprobe": {
"title": "RNProbe",
- "description": "Sonda le destinazioni con dimensioni dei pacchetti personalizzate per testare la connettività."
+ "description": "Invia sonde con dimensione payload configurabile per verificare raggiungibilità e ritardo."
},
"rncp": {
"title": "RNCP",
- "description": "Invia e ricevi file su RNS con monitoraggio dell'avanzamento."
+ "description": "Invia e ricevi file su Reticulum (RNCP) con avanzamento."
},
"rnstatus": {
"title": "RNStatus",
- "description": "Visualizza le statistiche delle interfacce e le informazioni sullo stato della rete."
+ "description": "Contatori per interfaccia e stato orientato al collegamento da Reticulum."
},
"rnpath": {
"title": "RNPath",
- "description": "Gestisci la tabella dei percorsi, visualizza i tassi di annuncio e richiedi percorsi.",
+ "description": "Ispeziona percorsi e code di annuncio; richiedi o elimina route.",
"failed_fetch": "Impossibile recuperare i dati del percorso",
"path_dropped": "Percorso eliminato",
"failed_drop": "Impossibile eliminare il percorso",
@@ -1031,7 +1056,7 @@
},
"rnpath_trace": {
"title": "RNS Path Trace",
- "description": "Visualizza il percorso e i salti verso qualsiasi hash di destinazione sulla mesh.",
+ "description": "Elenco dei salti verso l'hash di destinazione lungo il percorso attuale.",
"destination_hash": "Hash di Destinazione",
"placeholder": "Inserisci hash di destinazione a 32 caratteri...",
"trace": "Traccia Percorso",
@@ -1040,21 +1065,21 @@
"interface": "Interfaccia di Uscita",
"next_hop": "Prossimo Salto",
"ready_title": "Traccia un Percorso",
- "ready_desc": "Inserisci un hash di destinazione sopra per visualizzare come i pacchetti viaggiano attraverso la mesh per raggiungerlo.",
+ "ready_desc": "Inserisci un hash di destinazione per elencare i salti lungo il percorso attuale.",
"unknown_hops": "{count} Salti Intermedi",
"ping_test": "Test con Ping"
},
"translator": {
"title": "Traduttore",
- "description": "Traduci testo usando l'API LibreTranslate o Argos Translate locale."
+ "description": "Traduci testo tramite un server LibreTranslate o Argos Translate locale."
},
"forwarder": {
"title": "Inoltro",
- "description": "Inoltro LXMF con instradamento del percorso di ritorno."
+ "description": "Inoltra LXMF tra indirizzi mantenendo il routing delle risposte."
},
"rnode_flasher": {
"title": "Flasher RNode",
- "description": "Flasher e aggiornamento degli adattatori RNode senza toccare la riga di comando.",
+ "description": "Flash o aggiorna il firmware RNode dal browser (hardware supportato).",
"select_device": "1. Seleziona il tuo dispositivo",
"product": "Prodotto",
"model": "Modello",
@@ -1186,7 +1211,7 @@
},
"micron_editor": {
"title": "Editor Micron",
- "description": "Modifica e visualizza l'anteprima del markup Micron con rendering live.",
+ "description": "Modifica il markup Micron con anteprima live.",
"editor": "Editor",
"preview": "Anteprima",
"save": "Salva",
@@ -1204,28 +1229,28 @@
},
"paper_message": {
"title": "Messaggio Cartaceo",
- "description": "Genera e leggi messaggi cartacei LXMF firmati tramite codici QR."
+ "description": "Crea o leggi messaggi cartacei LXMF tramite QR."
},
"mesh_server": {
"title": "Mesh Server",
- "description": "Servi pagine Micron e file direttamente sulla rete Reticulum."
+ "description": "Pubblica pagine Micron e file per i peer sulla mesh."
},
"rns_tunnel": {
"title": "RNS Tunnel",
- "description": "Crea tunnel per il traffico IP regolare su collegamenti di rete Reticulum."
+ "description": "Tunnel IP su collegamenti Reticulum (in sviluppo)."
},
"rns_filesync": {
"title": "RNS Filesync",
- "description": "Condividi e sincronizza file in modo efficiente con altri peer della mesh."
+ "description": "Sincronizzazione file tra peer mesh (in sviluppo)."
},
"bots": {
"title": "LXMFy Bot",
- "description": "Gestisci bot automatizzati per echo, note e promemoria usando LXMFy."
+ "description": "Bot LXMF semplici (echo, note, promemoria) se LXMFy è installato."
}
},
"ping": {
"title": "Ping Peer della Mesh",
- "description": "Solo le destinazioni {code} rispondono al ping.",
+ "description": "Rispondono solo le destinazioni che espongono il tipo app ping.",
"destination_hash": "Hash di Destinazione",
"timeout_seconds": "Timeout Ping (secondi)",
"start_ping": "Inizia Ping",
@@ -1246,7 +1271,7 @@
"rncp": {
"file_transfer": "Trasferimento File",
"title": "RNCP - Reticulum Network Copy",
- "description": "Invia e ricevi file sulla rete Reticulum usando le risorse RNS. Questo strumento consente un trasferimento affidabile dei file tra i nodi della mesh anche su collegamenti ad alta latenza.",
+ "description": "Invia, ascolta o recupera file su Reticulum con RNCP (blocchi, compressione opzionale).",
"usage_steps": "Come usare RNCP:",
"step_1": "1. Per **ricevere** un file, vai alla scheda **Ascolta**, inserisci gli hash delle identità consentite (chi può inviarti file) e clicca su **Inizia Ascolto**.",
"step_2": "2. Per **inviare** un file, ottieni l'**Hash di Destinazione** di un nodo in ascolto, inserisci il **Percorso File Locale** e clicca su **Invia File**.",
@@ -1283,7 +1308,7 @@
"rnprobe": {
"network_diagnostics": "Diagnostica di Rete",
"title": "RNProbe - Sonda Destinazione",
- "description": "Sonda le destinazioni con dimensioni dei pacchetti personalizzate per testare la connettività e misurare l'RTT.",
+ "description": "Invia sonde con dimensione configurabile per misurare RTT e consegna.",
"destination_hash": "Hash di Destinazione",
"full_destination_name": "Nome Destinazione Completo",
"probe_size_bytes": "Dimensione Sonda (byte)",
@@ -1315,7 +1340,7 @@
"rnstatus": {
"network_diagnostics": "Diagnostica di Rete",
"title": "RNStatus - Stato della Rete",
- "description": "Visualizza le statistiche delle interfacce e le informazioni sullo stato della rete.",
+ "description": "Statistiche per interfaccia e stato del collegamento dalla tua istanza RNS.",
"refresh": "Aggiorna",
"include_link_stats": "Includi Statistiche Collegamento",
"sort_by": "Ordina per:",
@@ -1347,7 +1372,7 @@
"translator": {
"text_translation": "Traduzione Testo",
"title": "Traduttore",
- "description": "Traduci testo usando l'API LibreTranslate o Argos Translate locale.",
+ "description": "Traduci testo tramite un server LibreTranslate o Argos Translate locale.",
"argos_translate": "Argos Translate",
"libretranslate": "LibreTranslate",
"api_server": "Server API LibreTranslate",
@@ -1580,7 +1605,7 @@
"learn_create_desc_page": "Scopri come usare MeshChatX al massimo delle sue potenzialità e crea i tuoi contenuti.",
"documentation": "Documentazione",
"documentation_desc": "Leggi la documentazione ufficiale di MeshChatX e Reticulum.",
- "documentation_desc_page": "Guide complete per MeshChatX e lo stack di rete Reticulum sottostante.",
+ "documentation_desc_page": "Guide su MeshChatX e lo stack Reticulum.",
"meshchatx_docs": "Doc MeshChatX",
"reticulum_docs": "Doc Reticulum",
"read_meshchatx_docs": "Leggi Doc MeshChatX",
@@ -1590,13 +1615,13 @@
"micron_editor_desc_page": "Impara come creare pagine mesh-native e contenuti interattivi usando il linguaggio di markup Micron.",
"open_micron_editor": "Apri Editor Micron",
"paper_messages": "Esplora Nodi NomadNet",
- "paper_messages_desc": "Sfoglia pagine e servizi decentralizzati.",
+ "paper_messages_desc": "Sfoglia pagine e servizi Nomad.",
"send_messages": "Invia Messaggi",
"send_messages_desc": "Inizia una conversazione sicura.",
"explore_nodes": "Visualizza Nodi",
- "explore_nodes_desc": "Visualizza la mappa e la topologia della rete.",
+ "explore_nodes_desc": "Apri la mappa o il grafico di rete.",
"voice_calls": "Chiamate Vocali",
- "voice_calls_desc": "Prova il fantastico editor di suonerie!",
+ "voice_calls_desc": "Effettua e ricevi chiamate vocali.",
"ready": "Pronto per Iniziare!",
"ready_desc": "Tutto è configurato. Si consiglia di riavviare l'applicazione affinché le modifiche abbiano effetto.",
"ready_desc_page": "MeshChatX è ora configurato. Si consiglia di riavviare l'applicazione per finalizzare la connessione.",
@@ -1628,7 +1653,7 @@
"auto_propagation_enabled": "Auto-propagazione abilitata"
},
"command_palette": {
- "search_placeholder": "Cerca comandi, naviga o trova peer...",
+ "search_placeholder": "Cerca comandi, percorsi o peer",
"no_results": "Nessun risultato trovato per \"{query}\"",
"group_actions": "Azioni",
"group_recent": "Peer Recenti",
@@ -1636,52 +1661,52 @@
"footer_navigate": "Naviga",
"footer_select": "Seleziona",
"nav_messages": "Messaggi",
- "nav_messages_desc": "Apri la pagina dei messaggi",
+ "nav_messages_desc": "Conversazioni e posta LXMF",
"nav_nomad": "Nomad Network",
- "nav_nomad_desc": "Sfoglia le pagine Nomad Network",
+ "nav_nomad_desc": "Sfoglia pagine e servizi Nomad",
"nav_map": "Mappa",
- "nav_map_desc": "Visualizza la mappa della topologia di rete",
+ "nav_map_desc": "Mappa geografica e livelli",
"nav_paper": "Messaggi Cartacei",
- "nav_paper_desc": "Genera messaggi offline",
+ "nav_paper_desc": "Messaggi cartacei firmati (QR)",
"nav_call": "Chiamate Vocali",
- "nav_call_desc": "Apri la pagina delle chiamate vocali",
+ "nav_call_desc": "Chiamate vocali sulla mesh",
"nav_settings": "Impostazioni",
- "nav_settings_desc": "Apri la pagina delle impostazioni",
+ "nav_settings_desc": "Preferenze app e trasporto",
"nav_ping": "Ping",
- "nav_ping_desc": "Ping nodi di rete",
+ "nav_ping_desc": "Misura RTT verso una destinazione",
"nav_rnprobe": "RNProbe",
- "nav_rnprobe_desc": "Sonda i nodi Reticulum",
+ "nav_rnprobe_desc": "Verifica raggiungibilità e ritardo",
"nav_rncp": "RNCP",
- "nav_rncp_desc": "Reticulum Control Protocol",
+ "nav_rncp_desc": "Copia file su Reticulum (RNCP)",
"nav_rnstatus": "RNStatus",
- "nav_rnstatus_desc": "Visualizza lo stato di Reticulum",
+ "nav_rnstatus_desc": "Statistiche interfaccia e collegamento",
"nav_rnpath": "RNPath",
- "nav_rnpath_desc": "Visualizza i percorsi di rete",
+ "nav_rnpath_desc": "Percorsi e code di annuncio",
"nav_rnpath_trace": "RNPath Trace",
- "nav_rnpath_trace_desc": "Visualizza i percorsi di rete",
+ "nav_rnpath_trace_desc": "Elenco salti verso un hash",
"nav_translator": "Traduttore",
- "nav_translator_desc": "Traduci messaggi",
+ "nav_translator_desc": "Traduci il testo dei messaggi",
"nav_forwarder": "Inoltro",
- "nav_forwarder_desc": "Strumento di inoltro messaggi",
+ "nav_forwarder_desc": "Regole di inoltro LXMF",
"nav_documentation": "Documentazione",
- "nav_documentation_desc": "Visualizza la documentazione",
+ "nav_documentation_desc": "Manuali offline",
"nav_micron_editor": "Editor Micron",
- "nav_micron_editor_desc": "Crea pagine mesh-native",
+ "nav_micron_editor_desc": "Modifica markup Micron",
"nav_rnode_flasher": "Flasher RNode",
- "nav_rnode_flasher_desc": "Flasha il firmware RNode",
+ "nav_rnode_flasher_desc": "Aggiornamento firmware dispositivo",
"nav_debug_logs": "Log di Debug",
- "nav_debug_logs_desc": "Visualizza i log di debug",
+ "nav_debug_logs_desc": "Log applicazione e accessi",
"action_sync": "Sincronizza Messaggi",
"action_sync_desc": "Sincronizza con il nodo di propagazione",
"action_compose": "Componi Messaggio",
- "action_compose_desc": "Inizia un nuovo messaggio",
+ "action_compose_desc": "Nuovo messaggio LXMF",
"action_orbit": "Attiva/Disattiva Orbita",
- "action_orbit_desc": "Attiva o disattiva la modalità orbita",
+ "action_orbit_desc": "Camera orbita nel grafico di rete",
"action_bouncing_balls": "Palle Rimbalzanti",
- "action_bouncing_balls_desc": "Attiva o disattiva la modalità palle rimbalzanti",
+ "action_bouncing_balls_desc": "Demo fisica sul grafico",
"action_getting_started": "Guida Introduttiva",
- "action_getting_started_desc": "Mostra la guida introduttiva",
+ "action_getting_started_desc": "Apri la guida di configurazione",
"action_changelog": "Changelog",
- "action_changelog_desc": "Visualizza le novità"
+ "action_changelog_desc": "Modifiche recenti"
}
}
diff --git a/meshchatx/src/frontend/locales/ru.json b/meshchatx/src/frontend/locales/ru.json
index f0262d23..ecfbd9ee 100644
--- a/meshchatx/src/frontend/locales/ru.json
+++ b/meshchatx/src/frontend/locales/ru.json
@@ -2,7 +2,7 @@
"_languageName": "\u0420\u0443\u0441\u0441\u043a\u0438\u0439",
"bots": {
"title": "Боты LXMFy",
- "description": "Управление автоматическими ботами для эха, заметок и напоминаний с помощью LXMFy.",
+ "description": "Простые боты LXMF (эхо, заметки, напоминания), если установлен LXMFy.",
"bot_framework": "Фреймворк ботов",
"lxmfy_not_detected": "LXMFy не обнаружен",
"lxmfy_not_detected_desc": "Для использования ботов необходимо установить пакет LXMFy:",
@@ -109,6 +109,8 @@
"fallback_node_description": "Сообщения будут отправляться на этот узел, если прямая доставка не удалась.",
"auto_select_node": "Автовыбор лучшего узла",
"auto_select_node_description": "Автоматически находить и переключаться на лучший доступный узел ретрансляции на основе количества переходов в сети.",
+ "auto_select_using_label": "Используется узел ретрансляции",
+ "auto_select_pending": "Узел ретрансляции ещё не выбран. Приложение выберет его, когда он будет доступен.",
"auto_sync_interval": "Интервал автосинхронизации",
"last_synced": "Последняя синхронизация {time} назад.",
"last_synced_never": "Последняя синхронизация: никогда.",
@@ -116,7 +118,7 @@
"propagation_stamp_description": "Требовать штампы Proof-of-Work для сообщений, передаваемых через ваш узел. Более высокие значения требуют больше вычислительной работы. Диапазон: 13-254. По умолчанию: 16. **Примечание:** изменение требует перезапуска приложения.",
"language": "Язык",
"select_language": "Выберите предпочтительный язык.",
- "custom_fork_by": "Модифицированная версия от",
+ "tagline": "Универсальный клиент Reticulum",
"open": "Открыть",
"identity": "Личность",
"lxmf_address_hash": "Хеш адреса LXMF",
@@ -207,6 +209,9 @@
"sync_error": "Ошибка синхронизации: {status}",
"switching_identity": "Переключение личности...",
"loading_identity": "Загрузка вашей личности",
+ "loading_overlay_kicker": "Подождите",
+ "loading_overlay_title": "Смена профиля",
+ "loading_overlay_subtitle": "Загрузка чатов и настроек. Обычно это занимает несколько секунд.",
"emergency_mode_active": "Аварийный режим активен — используется база данных в оперативной памяти и ограниченные службы.",
"blackhole_integration_enabled": "Интеграция Blackhole",
"blackhole_integration_description": "Автоматически блокировать (blackhole) личности на транспортном уровне Reticulum при изгнании пользователей в MeshChatX.",
@@ -415,10 +420,15 @@
"import_success": "Импортировано контактов: {added}",
"import_failed": "Ошибка импорта",
"import_modal_title": "Импорт контактов",
- "import_file_hint": "Выберите JSON-файл, экспортированный из Контактов."
+ "import_file_hint": "Выберите JSON-файл, экспортированный из Контактов.",
+ "edit_contact": "Редактировать контакт",
+ "enter_contact_name": "Введите имя контакта",
+ "contact_updated": "Контакт обновлён",
+ "failed_update_contact": "Не удалось обновить контакт"
},
"about": {
"title": "О программе",
+ "third_party_licenses": "Лицензии сторонних компонентов",
"version": "v{version}",
"rns_version": "RNS {version}",
"lxmf_version": "LXMF {version}",
@@ -537,7 +547,7 @@
"map": {
"title": "Карта",
"pop_out": "Открыть карту в окне",
- "description": "Офлайн-карта с поддержкой MBTiles.",
+ "description": "Офлайн-тайлы (MBTiles) и свои слои.",
"upload_mbtiles": "Загрузить MBTiles",
"select_file": "Выбрать файл MBTiles",
"offline_mode": "Офлайн-режим",
@@ -846,7 +856,7 @@
},
"forwarder": {
"title": "LXMF Форвардер",
- "description": "Пересылка сообщений с одного адреса на другой с прозрачной обратной маршрутизацией.",
+ "description": "Пересылка LXMF между адресами с сохранением маршрута ответов.",
"add_rule": "Добавить правило пересылки",
"name": "Имя",
"name_placeholder": "Название правила (например, Домашний узел)...",
@@ -864,7 +874,7 @@
"delete_confirm": "Вы уверены, что хотите удалить это правило?"
},
"archives": {
- "description": "Поиск и просмотр архивных страниц Nomad Network",
+ "description": "Поиск страниц Nomad, сохранённых в локальном архиве.",
"search_placeholder": "Поиск по содержимому, хешу или пути...",
"loading": "Загрузка архивов...",
"no_archives_found": "Архивы не найдены",
@@ -880,7 +890,7 @@
},
"docs": {
"title": "Документация",
- "subtitle": "Руководства и справочники Reticulum.",
+ "subtitle": "Руководства Reticulum и MeshChat.",
"status_title": "Статус документации",
"status_downloading": "Загрузка...",
"status_available": "Доступно офлайн",
@@ -892,29 +902,44 @@
"docs_link_copied": "Documentation link copied to clipboard",
"failed_copy_link": "Failed to copy link"
},
+ "licenses": {
+ "section_label": "Правовая информация",
+ "title": "Лицензии сторонних компонентов",
+ "description": "Версии, авторы и SPDX или заявленные лицензии зависимостей во время работы. Данные берутся из установленной среды Python и из pnpm, если доступен.",
+ "short_description": "Версии, авторы и лицензии для бэкенда и фронтенда.",
+ "search_placeholder": "Поиск по пакетам, версиям, авторам, лицензиям...",
+ "generated_at": "Сформировано: {time}",
+ "frontend_source": "Данные фронтенда: {source}",
+ "backend_section": "Бэкенд (Python)",
+ "frontend_section": "Фронтенд (Node)",
+ "col_package": "Пакет",
+ "col_version": "Версия",
+ "col_author": "Автор",
+ "col_license": "Лицензия"
+ },
"tools": {
"utilities": "Утилиты",
- "power_tools": "Инструменты для операторов",
- "diagnostics_description": "Средства диагностики и прошивки поставляются вместе с MeshChat для устранения неполадок без использования консоли.",
+ "power_tools": "Утилиты",
+ "diagnostics_description": "Проверка связи, передачи файлов, путей, перевод, руководства и помощь с оборудованием в одном месте.",
"ping": {
"title": "Ping",
- "description": "Тест задержки для любого LXMF хеша с отображением статуса."
+ "description": "Измерение RTT до узла, который принимает ping."
},
"rnprobe": {
"title": "RNProbe",
- "description": "Зондирование узлов пакетами произвольного размера для проверки связи."
+ "description": "Зонды с настраиваемым размером полезной нагрузки для проверки доступности и задержки."
},
"rncp": {
"title": "RNCP",
- "description": "Отправка и получение файлов через RNS с отслеживанием прогресса."
+ "description": "Отправка и приём файлов по Reticulum (RNCP) с прогрессом."
},
"rnstatus": {
"title": "RNStatus",
- "description": "Статистика интерфейсов и информация о состоянии сети."
+ "description": "Счётчики по интерфейсам и состояние канала от Reticulum."
},
"rnpath": {
"title": "RNPath",
- "description": "Управление таблицей путей, просмотр частоты анонсов и запрос путей.",
+ "description": "Просмотр путей и очередей анонсов; запрос или сброс маршрутов.",
"failed_fetch": "Failed to fetch path data",
"path_dropped": "Path dropped",
"failed_drop": "Could not drop path",
@@ -928,7 +953,7 @@
},
"rnpath_trace": {
"title": "RNS Трассировка пути",
- "description": "Визуализация пути и переходов к любому хэшу назначения в сети.",
+ "description": "Список переходов к хэшу назначения по текущему пути.",
"destination_hash": "Хэш назначения",
"placeholder": "Введите 32-символьный хэш...",
"trace": "Трассировать путь",
@@ -937,21 +962,21 @@
"interface": "Выходной интерфейс",
"next_hop": "Следующий переход",
"ready_title": "Трассировка пути",
- "ready_desc": "Введите хэш назначения выше, чтобы увидеть, как пакеты проходят через сеть.",
+ "ready_desc": "Введите хэш назначения, чтобы перечислить переходы по текущему пути.",
"unknown_hops": "{count} промежуточных переходов",
"ping_test": "Проверить с помощью Ping"
},
"translator": {
"title": "Translator",
- "description": "Перевод текста через LibreTranslate API или локальный Argos Translate."
+ "description": "Перевод текста через сервер LibreTranslate или локальный Argos Translate."
},
"forwarder": {
"title": "Forwarder",
- "description": "Пересылка LXMF с маршрутизацией обратного пути."
+ "description": "Пересылка LXMF между адресами с сохранением маршрута ответов."
},
"rnode_flasher": {
"title": "RNode Flasher",
- "description": "Прошивка и обновление адаптеров RNode без использования командной строки.",
+ "description": "Прошивка или обновление RNode из браузера (поддерживаемое оборудование).",
"select_device": "1. Выберите устройство",
"product": "Продукт",
"model": "Модель",
@@ -1083,7 +1108,7 @@
},
"micron_editor": {
"title": "Редактор Micron",
- "description": "Редактирование и предпросмотр разметки Micron с живым рендерингом.",
+ "description": "Редактирование разметки Micron с живым предпросмотром.",
"editor": "Редактор",
"preview": "Предпросмотр",
"save": "Сохранить",
@@ -1101,28 +1126,28 @@
},
"paper_message": {
"title": "Бумажное сообщение",
- "description": "Создание и чтение подписанных бумажных сообщений LXMF через QR-коды."
+ "description": "Создание или чтение бумажных сообщений LXMF через QR."
},
"mesh_server": {
"title": "Mesh Server",
- "description": "Раздавайте Micron-страницы и файлы напрямую через сеть Reticulum."
+ "description": "Публикация страниц Micron и файлов для узлов в mesh."
},
"rns_tunnel": {
"title": "RNS Tunnel",
- "description": "Туннелирование обычного IP-трафика через сеть Reticulum."
+ "description": "IP-туннелирование по каналам Reticulum (в разработке)."
},
"rns_filesync": {
"title": "RNS Filesync",
- "description": "Эффективный обмен и синхронизация файлов с другими узлами mesh."
+ "description": "Синхронизация файлов между узлами mesh (в разработке)."
},
"bots": {
"title": "LXMFy Боты",
- "description": "Управление автоматизированными ботами для эха, заметок и напоминаний с помощью LXMFy."
+ "description": "Простые боты LXMF (эхо, заметки, напоминания), если установлен LXMFy."
}
},
"ping": {
"title": "Пинг узлов сети",
- "description": "Только пункты назначения {code} отвечают на пинг.",
+ "description": "Отвечают только узлы, объявляющие тип приложения ping.",
"destination_hash": "Хеш назначения",
"timeout_seconds": "Тайм-аут пинга (секунды)",
"start_ping": "Запустить пинг",
@@ -1143,7 +1168,7 @@
"rncp": {
"file_transfer": "Передача файлов",
"title": "RNCP - Reticulum Network Copy",
- "description": "Отправка и получение файлов через сеть Reticulum с использованием ресурсов RNS. Этот инструмент обеспечивает надежную передачу файлов между узлами сети даже через каналы с высокой задержкой.",
+ "description": "Отправка, приём или загрузка файлов по Reticulum через RNCP (блоки, сжатие по желанию).",
"usage_steps": "Как использовать RNCP:",
"step_1": "1. Чтобы **получить** файл, перейдите на вкладку **Прослушивание**, введите разрешенные хеши идентичности (кто может присылать вам файлы) и нажмите **Начать прослушивание**.",
"step_2": "2. Чтобы **отправить** файл, получите **Хеш назначения** прослушиваемого узла, введите **Локальный путь к файлу** и нажмите **Отправить файл**.",
@@ -1180,7 +1205,7 @@
"rnprobe": {
"network_diagnostics": "Диагностика сети",
"title": "RNProbe - Проверка назначения",
- "description": "Проверка пунктов назначения с настраиваемым размером пакетов для тестирования связности и измерения RTT.",
+ "description": "Зонды с настраиваемым размером для измерения RTT и доставки.",
"destination_hash": "Хеш назначения",
"full_destination_name": "Полное имя назначения",
"probe_size_bytes": "Размер пакета (байты)",
@@ -1212,7 +1237,7 @@
"rnstatus": {
"network_diagnostics": "Диагностика сети",
"title": "RNStatus - Статус сети",
- "description": "Просмотр статистики интерфейсов и информации о статусе сети.",
+ "description": "Статистика по интерфейсам и состояние канала от вашего экземпляра RNS.",
"refresh": "Обновить",
"include_link_stats": "Включить статистику ссылок",
"sort_by": "Сортировать по:",
@@ -1244,7 +1269,7 @@
"translator": {
"text_translation": "Перевод текста",
"title": "Переводчик",
- "description": "Перевод текста с использованием LibreTranslate API или локального Argos Translate.",
+ "description": "Перевод текста через сервер LibreTranslate или локальный Argos Translate.",
"argos_translate": "Argos Translate",
"libretranslate": "LibreTranslate",
"api_server": "Сервер API LibreTranslate",
@@ -1477,7 +1502,7 @@
"learn_create_desc_page": "Узнайте, как использовать MeshChatX на полную мощность и создавать свой контент.",
"documentation": "Документация",
"documentation_desc": "Читайте официальную документацию MeshChatX и Reticulum.",
- "documentation_desc_page": "Подробные руководства по MeshChatX и базовому стеку Reticulum Network.",
+ "documentation_desc_page": "Руководства по MeshChatX и стеку Reticulum.",
"meshchatx_docs": "Документация MeshChatX",
"reticulum_docs": "Документация Reticulum",
"read_meshchatx_docs": "Читать документацию MeshChatX",
@@ -1487,13 +1512,13 @@
"micron_editor_desc_page": "Узнайте, как создавать mesh-страницы и интерактивный контент с помощью языка разметки Micron.",
"open_micron_editor": "Открыть редактор Micron",
"paper_messages": "Обзор узлов NomadNet",
- "paper_messages_desc": "Просмотр децентрализованных страниц и сервисов.",
+ "paper_messages_desc": "Просмотр страниц и сервисов Nomad.",
"send_messages": "Отправка сообщений",
"send_messages_desc": "Начните защищенный разговор.",
"explore_nodes": "Визуализация узлов",
- "explore_nodes_desc": "Просмотр карты и топологии сети.",
+ "explore_nodes_desc": "Открыть карту или граф сети.",
"voice_calls": "Голосовые звонки",
- "voice_calls_desc": "Посмотрите наш крутой редактор рингтонов!",
+ "voice_calls_desc": "Исходящие и входящие голосовые вызовы.",
"ready": "Все готово!",
"ready_desc": "Все настроено. Вам следует перезапустить приложение, чтобы изменения вступили в силу.",
"ready_desc_page": "MeshChatX настроен. Вам следует перезапустить приложение для завершения подключения.",
@@ -1525,7 +1550,7 @@
"auto_propagation_enabled": "Авторетрансляция включена"
},
"command_palette": {
- "search_placeholder": "Поиск команд, навигация или поиск узлов...",
+ "search_placeholder": "Команды, маршруты или узлы",
"no_results": "Результатов для \"{query}\" не найдено",
"group_actions": "Действия",
"group_recent": "Недавние узлы",
@@ -1533,53 +1558,53 @@
"footer_navigate": "Навигация",
"footer_select": "Выбор",
"nav_messages": "Сообщения",
- "nav_messages_desc": "Открыть страницу сообщений",
+ "nav_messages_desc": "Беседы и почта LXMF",
"nav_nomad": "Nomad Network",
- "nav_nomad_desc": "Просмотр страниц Nomad Network",
+ "nav_nomad_desc": "Страницы и сервисы Nomad",
"nav_map": "Карта",
- "nav_map_desc": "Просмотр карты топологии сети",
+ "nav_map_desc": "Географическая карта и слои",
"nav_paper": "Бумажные сообщения",
- "nav_paper_desc": "Создание офлайн-сообщений",
+ "nav_paper_desc": "Подписанные бумажные сообщения (QR)",
"nav_call": "Голосовые звонки",
- "nav_call_desc": "Открыть страницу голосовых звонков",
+ "nav_call_desc": "Голосовые вызовы в mesh",
"nav_settings": "Настройки",
- "nav_settings_desc": "Открыть страницу настроек",
+ "nav_settings_desc": "Приложение и транспорт",
"nav_ping": "Ping",
- "nav_ping_desc": "Пинг узлов сети",
+ "nav_ping_desc": "Измерить RTT до узла",
"nav_rnprobe": "RNProbe",
- "nav_rnprobe_desc": "Зондирование узлов Reticulum",
+ "nav_rnprobe_desc": "Проверка доступности и задержки",
"nav_rncp": "RNCP",
- "nav_rncp_desc": "Reticulum Control Protocol",
+ "nav_rncp_desc": "Копирование файлов по Reticulum (RNCP)",
"nav_rnstatus": "RNStatus",
- "nav_rnstatus_desc": "Просмотр статуса Reticulum",
+ "nav_rnstatus_desc": "Статистика интерфейса и канала",
"nav_rnpath": "RNPath",
- "nav_rnpath_desc": "Просмотр сетевых путей",
+ "nav_rnpath_desc": "Пути и очереди анонсов",
"nav_rnpath_trace": "Трассировка пути",
- "nav_rnpath_trace_desc": "Визуализация сетевых путей",
+ "nav_rnpath_trace_desc": "Список переходов к хэшу",
"nav_translator": "Переводчик",
- "nav_translator_desc": "Перевод сообщений",
+ "nav_translator_desc": "Перевод текста сообщений",
"nav_forwarder": "Форвардер",
- "nav_forwarder_desc": "Инструмент пересылки сообщений",
+ "nav_forwarder_desc": "Правила пересылки LXMF",
"nav_documentation": "Документация",
- "nav_documentation_desc": "Просмотр документации",
+ "nav_documentation_desc": "Офлайн-руководства",
"nav_micron_editor": "Редактор Micron",
- "nav_micron_editor_desc": "Создание mesh-страниц",
+ "nav_micron_editor_desc": "Редактировать разметку Micron",
"nav_rnode_flasher": "RNode Flasher",
- "nav_rnode_flasher_desc": "Прошивка адаптеров RNode",
+ "nav_rnode_flasher_desc": "Обновление прошивки устройства",
"nav_debug_logs": "Логи отладки",
- "nav_debug_logs_desc": "Просмотр логов отладки",
+ "nav_debug_logs_desc": "Журналы приложения и доступа",
"action_sync": "Синхронизация",
"action_sync_desc": "Синхронизация с узлом ретрансляции",
"action_compose": "Написать сообщение",
- "action_compose_desc": "Начать новое сообщение",
+ "action_compose_desc": "Новое сообщение LXMF",
"action_orbit": "Переключить Orbit",
- "action_orbit_desc": "Переключить режим Orbit",
+ "action_orbit_desc": "Камера Orbit на графе сети",
"action_bouncing_balls": "Прыгающие шарики",
- "action_bouncing_balls_desc": "Переключить режим прыгающих шариков",
+ "action_bouncing_balls_desc": "Демонстрация физики на графе",
"action_getting_started": "Начало работы",
- "action_getting_started_desc": "Показать руководство",
+ "action_getting_started_desc": "Открыть мастер настройки",
"action_changelog": "Список изменений",
- "action_changelog_desc": "Просмотр изменений"
+ "action_changelog_desc": "Последние изменения"
},
"settings": {
"shortcut_saved": "Shortcut saved",
@@ -1595,7 +1620,7 @@
},
"debug": {
"title": "Журнал отладки",
- "description": "Просмотр журналов приложения и обнаруженных аномалий.",
+ "description": "Просмотр журналов приложения и фильтрация по уровню.",
"tab_logs": "Журналы",
"tab_access_attempts": "Попытки доступа",
"search_logs_placeholder": "Поиск в журналах...",
@@ -1616,7 +1641,7 @@
},
"visualiser": {
"title": "Network Visualiser",
- "description": "Visualize the mesh network topology.",
+ "description": "Граф обнаруженных узлов и связей.",
"reticulum_mesh": "Reticulum Mesh",
"network_visualizer": "Network Visualizer",
"node_info": "Node Info",
@@ -1668,7 +1693,7 @@
},
"banishment": {
"title": "Banished",
- "description": "Manage Banished users and nodes",
+ "description": "Просмотр и снятие блокировок с идентичностей и узлов.",
"failed_load_banished": "Failed to load banished destinations",
"search_placeholder": "Search by hash or display name...",
"loading_items": "Loading banished items...",
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────